# 为了替换 kube-proxy 的 iptables 为 ipvs
# 网上查到说是 ipvs 比 iptables牛逼些。
# 使用iptables 又出了问题，还是用ipvs靠谱

# 开启内核支持
cat >> /etc/sysctl.conf << EOF
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF
 
sysctl -p

# 开启 ipvs
yum -y install ipvsadm  ipset
 
# 临时生效
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
 
# 永久生效
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF

# 手动修改
# kubectl edit cm kube-proxy -n kube-system
# mode:"" => mode: "ipvs"

# 重启 kube-proxy 就是删除了，会自动重建
# kubectl  get pod -n kube-system | grep kube-proxy | awk '{print $1}' | xargs kubectl delete pod -n kube-system
